package com.ghh.app.monsterrush.weapons;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Texture;
import com.ghh.app.monsterrush.MonsterRushGame;
import com.ghh.app.monsterrush.StateAction;
import com.ghh.app.monsterrush.WeaponActor;
import com.ghh.app.monsterrush.weapons.state.AttackingState;
import com.ghh.app.monsterrush.weapons.state.FlyingState;
import com.ghh.app.monsterrush.weapons.state.InitializationState;
import com.ghh.app.monsterrush.weapons.state.StandByState;

public class Pepper extends WeaponActor {
	private final static int	power			= 20;
	private final static float	objectWidth		= 80f;
	private final static float	objectHeight	= 80f;

	private Texture				texture;

	public Pepper(MonsterRushGame game) {
		super(game, power);
	}

	@Override
	protected void create() {
		Texture.setEnforcePotImages(false);
		texture = new Texture(Gdx.files.internal("pepper.png"));		
	}
	
	@Override
	protected StateAction createStateCreate() {
		return new InitializationState(this,texture);
	}

	@Override
	protected StateAction createStateReady() {
		return new StandByState(this, texture);
	}

	@Override
	protected StateAction createStateFly() {
		return new FlyingState(this, texture);
	}

	@Override
	protected StateAction creatStateAttack() {
		return new AttackingState(this, texture);
	}

	@Override
	protected float getObjectWidth() {
		return objectWidth;
	}

	@Override
	protected float getObjectHeight() {
		return objectHeight;
	}

	@Override
	public void dispose() {
		texture.dispose();
	}
}
